Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0 
# Przypisanie nazw baz danych
$sssDBName = "Farm_Upgrade_SecureStore"
$sssKey = "Password1"
$bdcDBName = "Farm_Upgrade_BDC"
$mmsDBName = "Farm_Upgrade_Metadata"
$profileDBName = "Farm_Upgrade_UPS_Profile"
$socialDBName = "Farm_Upgrade_UPS_Social"
$syncDBName = "Farm_Upgrade_UPS_Sync"
$ppsDBName = "Farm_Upgrade_PerformancePoint"
$ssaDBName = "Farm_Upgrade_Search_Admin"
$ssaDBServerName = "SQL-02"

# Uruchomienie egzemplarzy usug
$services = ("Managed Metadata Web Service","Business Data Connectivity Service","User Profile Service","PerformancePoint Service","Secure Store Service")
foreach ($service in $services)
{
    Write-Host ("Uruchamianie egzemplarza usugi " + $service)
    $instance = get-spserviceinstance | Where-Object {$_.TypeName -eq $service}
    Start-SPServiceInstance -Identity $instance.Id
}
# Uruchomienie egzemplarza usugi wyszukiwania
Write-Host ("Uruchamianie egzemplarza usugi wyszukiwania")
$searchInst = Get-SPEnterpriseSearchServiceInstance -local
Start-SPServiceInstance $searchInst

# Pobranie informacji o puli aplikacji
Write-Host ("Pobranie informacji o puli aplikacji")
$appPool = Get-SPServiceApplicationPool -Identity "SharePoint Web Services Default"

# Uaktualnienie aplikacji usugi bezpiecznego magazynu i utworzenie jej serwera proxy
Write-Host ("Uaktualnienie aplikacji usugi bezpiecznego magazynu i utworzenie jej serwera proxy")
$sss = New-SPSecureStoreServiceApplication -Name "Farm Secure Store" -ApplicationPool $appPool -DatabaseName $sssDBName -AuditingEnabled
$sssp = New-SPSecureStoreServiceApplicationProxy -Name "Serwer proxy bezpiecznego magazynu farmy" -ServiceApplication $sss -DefaultProxyGroup

# Uaktualnienie klucza bezpiecznego magazynu
Write-Host ("Uaktualnienie klucza bezpiecznego magazynu")
Update-SPSecureStoreApplicationServerKey -Passphrase $sssKey -ServiceApplicationProxy $sssp

# Uaktualnienie aplikacji usugi cznoci danych biznesowych i utworzenie jej serwera proxy
Write-Host ("Uaktualnienie aplikacji usugi cznoci danych biznesowych i utworzenie jej serwera proxy")
New-SPBusinessDataCatalogServiceApplication -Name "Usuga cznoci danych biznesowych farmy" -ApplicationPool $appPool -DatabaseName $bdcDBName 

# Uaktualnienie aplikacji usugi zarzdzanych metadanych i utworzenie jej serwera proxy
Write-Host ("Uaktualnienie aplikacji usugi zarzdzanych metadanych i utworzenie jej serwera proxy")
$mms = New-SPMetadataServiceApplication -Name "Usuga zarzdzanych metadanych farmy" -ApplicationPool $appPool -DatabaseName $mmsDBName 
$mmsp = New-SPMetadataServiceApplicationProxy -Name "Serwer proxy aplikacji usugi zarzdzanych metadanych farmy" -ServiceApplication $mms -DefaultProxyGroup

# Uaktualnienie aplikacji usugi profili uytkownikw i utworzenie jej serwera proxy ---> Ten kod musi by uruchomiony z wykorzYstaniem konta farmy!
Write-Host ("Uaktualnienie aplikacji usugi profili uytkownikw i utworzenie jej serwera proxy")
     Parametry SocialDBName i ProfileSyncDBName s opcjonalne. Jeli nie podamy tych parametrw, to nowe bazy danych spoecznociowa i synchronizacji bd utworzone automatycznie.

$upa = New-SPProfileServiceApplication -Name "Aplikacja usugi profili uytkownikw farmy" -ApplicationPool $appPool `
	-ProfileDBName $profileDBName `
        -SocialDBName $socialDBName `
        -ProfileSyncDBName $syncDBName 
$upap = New-SPProfileServiceApplicationProxy -Name "Serwer proxy aplikacji usugi profili uytkownikw farmy" -ServiceApplication $upa -DefaultProxyGroup
#>

# Uaktualnienie aplikacji usugi PerformancePoint i stworzenie jej serwera Proxy
Write-Host ("Uaktualnienie aplikacji usugi PerformancePoint i stworzenie jej serwera Proxy")
$pps = New-SPPerformancePointServiceApplication -Name "Aplikacja usugi PerformancePoint farmy" -ApplicationPool $appPool -DatabaseName $ppsDBName 
$ppsp = New-SPPerformancePointServiceApplicationProxy -Name "Aplikacja usugi PerformancePoint farmy" -ServiceApplication $pps -Default

# Uaktualnienie aplikacji usugi wyszukiwania i stworzenie jej serwera proxy
Write-Host ("Uaktualnienie aplikacji usugi wyszukiwania i stworzenie jej serwera proxy")
$ssa = Restore-SPEnterpriseSearchServiceApplication -Name "Aplikacja usugi wyszukiwania farmy" -applicationpool $appPool `
	-databasename $ssaDBName  `
	-databaseserver $ssaDBServerName `
	-AdminSearchServiceInstance $searchInst 
$ssap = New-SPEnterpriseSearchServiceApplicationProxy -Name "Serwer proxy aplikacji usugi wyszukiwania farmy" -SearchApplication $ssa 
$ssapgm = Add-SPServiceApplicationProxyGroupMember member $ssap -identity " "

# Weryfikacja usug w domylnej grupie proxy aplikacji
Write-Host("Weryfikacja usug w domylnej grupie proxy aplikacji")
$pg = Get-SPServiceApplicationProxyGroup -Identity " "
$pg.Proxies


